package fr.bludwarf.skywarrior.joueur;

import fr.bludwarf.skywarrior.global.Temps;
import fr.bludwarf.skywarrior.ile.StatsCombat;
import fr.bludwarf.skywarrior.utils.Reflect;

public class Vaisseau extends Unite {
	
	//           		   												  temps de constr.			, PV/att/def					, cout(mat,ether,nourr)		, pop
	public static final Vaisseau Apicopter	= new Vaisseau("Apicopter"	,    "37m 30s"	, new StatsCombat(100,  0, 0)	, new Ressources(30, 0, 0)	, 1);
	public static final Vaisseau Drakkar	= new Vaisseau("Drakkar"	, "2h"			, new StatsCombat( 60, 15, 1)	, new Ressources(90, 0, 0)	, 2);
	public static final Vaisseau Bombardier	= new Vaisseau("Bombardier"	, "1h 15m"		, new StatsCombat( 25,  0, 0)	, new Ressources(40, 20, 0)	, 1);
	
	public static final Reflect<Vaisseau> REFLECT = new Reflect<Vaisseau>(Vaisseau.class);

	public Vaisseau(final String nom, double duree, StatsCombat combat, Ressources cout, final int pop)
	{
		super(nom, duree, combat, cout, pop);
	}

	public Vaisseau(final String nom, String duree, StatsCombat combat, Ressources cout, final int pop)
	{
		this(nom, Temps.parseDuree(duree), combat, cout, pop);
	}

	public static Vaisseau getVaisseau(String nom)
	{
		return REFLECT.getDeclaredField(nom);
	}

}
